<template>
  <div>
    <el-card>
      <el-form :inline="true">
        <el-form-item label="一级分类" width="100px">
          <!-- change:选中值发生变化时触发 -->
          <el-select
            v-model="CategoryStore.c1Id"
            style="width: 240px"
            size="large"
            @change="handler"
            :disabled="scene == 0 ? false : true"
          >
            <!-- label:即为展示数据 value:即为select下拉菜单收集的数据 -->
            <el-option
              v-for="(c1, index) in CategoryStore.c1Arr"
              :key="c1.id"
              :label="c1.name"
              :value="c1.id"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="二级分类">
          <el-select
            v-model="CategoryStore.c2Id"
            style="width: 240px"
            size="large"
            @change="handler2"
            :disabled="scene == 0 ? false : true"
          >
            <!-- label:即为展示数据 value:即为select下拉菜单收集的数据 -->
            <el-option
              v-for="(c2, index) in CategoryStore.c2Arr"
              :key="c2.id"
              :label="c2.name"
              :value="c2.id"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="三级分类">
          <el-select
            v-model="CategoryStore.c3Id"
            style="width: 240px"
            size="large"
            @change=""
            :disabled="scene == 0 ? false : true"
          >
            <!-- label:即为展示数据 value:即为select下拉菜单收集的数据 -->
            <el-option
              v-for="(c3, index) in CategoryStore.c3Arr"
              :key="c3.id"
              :label="c3.name"
              :value="c3.id"
            ></el-option>
          </el-select>
        </el-form-item>
      </el-form>
    </el-card>
  </div>
</template>

<script setup lang="ts">
import { onMounted, ref, reactive } from 'vue'
// 引入分类仓库
import useCategoryStore from '@/store/modules/category'

let CategoryStore = useCategoryStore()

// 接受父组件传来的值 作为分类菜单是否可选的判断值
defineProps(['scene'])

// 在组件挂载完毕 发送一级菜单数据请求
onMounted(async () => {
  getC1Aarry()
})

// 获取一级菜单数据
const getC1Aarry = () => {
  CategoryStore.getC1Arry()
}

// 一级菜单变化 回调
const handler = () => {
  // 需要清空二级 三级分类菜单
  CategoryStore.c2Id = ''
  CategoryStore.c3Arr = []
  CategoryStore.c3Id = ''
  // 调用发送请求函数 更新二级菜单的值
  CategoryStore.getC2Arry()
}
// 二级菜单变化 回调
const handler2 = () => {
  CategoryStore.c3Id = ''
  // 调用发送请求函数 更新二级菜单的值
  CategoryStore.getC3Arry()
}
</script>

<style scoped></style>
